Skip to main content Link Search Menu Expand Document (external link)

posts

Table of contents

  1. 포스트 폴더
  2. 포스트 생성하기
  3. 이미지와 자원 삽입하기
  4. 포스트 목록 표시하기
  5. 카테고리와 태그
  6. 포스트 발췌
  7. Drafts(초안)

Jekyll 에는 블로그 기능이 완전히 반영되어 있습니다. 당신은 텍스트 파일로 블로그 포스트를 작성하고 Jekyll 은 그것을 블로그로 변환하는데 필요한 모든것을 제공합니다.

포스트 폴더

당신의 블로그 포스트를 위치시키는 디렉터리는 _posts 폴더입니다.
포스트는 일반적으로 마크다운으로 작성하며, HTML 또한 지원합니다.

포스트 생성하기

포스트를 생성하려면, _posts 디렉토리에 파일을 추가하고 다음과 같은 형식으로 내용을 작성합니다:

YEAR-MONTH-DAY-title.MARKUP

여기서 YEAR 는 네 자리의 숫자, MONTHDAY 는 두 자리 숫자이고, 확장자는 MARKUP의 format을 가리키는 약자 md 입니다.
올바른 포스트 파일명을 예로 들면 다음과 같습니다:

2011-12-31-new-years-eve-is-awesome.md
2012-09-12-how-to-write-a-blog.md

모든 블로그 포스트 파일은 Front matter로 시작되어야 하며, 이것은 일반적으로 layout 이나 다른 메타 데이터 항목 설정입니다. 설정을 하지 않는 것도 가능합니다 :

---
layout: post
title:  "Welcome to Jekyll!"
---

# Welcome

**Hello world**, this is my first Jekyll blog post.

I hope you like it!


ProTip™: 다른 포스트로 링크하기

post_url 태그를 사용하면 사이트 고유주소 스타일이 바뀌는 경우에도 URL 이 잘못될 걱정을 할 필요가 없습니다.


캐릭터 세트에 주의하세요

컨텐츠 처리기는 특정 문자들을 변경할 수 있어서 결과물을 더 좋게 보이게 합니다.
예를 들어, Redcarpet 변환 기본방식의 smart 확장기능은 ASCII 인용 부호를 유니코드 문자로 바꿉니다. 따라서, 이러한 문자들이 브라우저에 올바르게 표시되게 하려면, 레이아웃 파일의 <head><meta charset="utf-8"> 라고 입력하여 캐릭터 세트 메타 정보를 정의해야 합니다.

이미지와 자원 삽입하기

때때로 글 중간에 이미지, 다운로드 또는 그 밖에 다른 종류의 자원을 삽입해야할 때가 있습니다.
가장 일반적인 방법 중 하나는 프로젝트의 루트 디렉토리에 assets 같은 이름의 디렉토리를 만들고, 이미지와 파일, 그 밖의 다른 자원들을 보관하는 것입니다.
그 다음, 어느 포스트에서든지 링크하는 자원의 경로에 사이트 루트 경로를 포함시키면 됩니다.
이를 위한 최선의 방법은 사이트의 (서브)도메인과 경로 설정에 따라 다르지만, 여기 몇 가지 단순한 마크다운 예제가 있습니다:

포스트에 이미지를 삽입:

... which is shown in the screenshot below:
![My helpful screenshot](/assets/screenshot.jpg)

PDF 다운로드 링크를 삽입:

... you can [get the PDF](/assets/mydoc.pdf) directly.

포스트 목록 표시하기

별도의 페이지에 포스트 목록을 생성하는 것은 Liquid 와 이에 포함된 태그 기능을 사용하면 쉽습니다. 여기, 포스트 링크 목록을 생성하는 간단한 예시가 있습니다:

<ul>
  {% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
    </li>
  {% endfor %}
</ul>

포스트를 어떻게 (그리고 어디에) 표시할 것인지, 사이트를 어떻게 구성할 것인지, 전부 다 제어할 수 있습니다. 더 자세한 내용을 알고 싶다면, Jekyll 에서 템플릿이 작동하는 방법을 읽어보세요.

위 예제에서 post 변수는 오직 for 루프 안에서만 존재한다는 것에 주의하세요. 만약 현재 렌더링중인 페이지/포스트의 변수 (for 루프를 포함하고 있는 포스트/페이지의 변수) 에 접근하고자 한다면, post 대신 page 변수를 사용하세요.

카테고리와 태그

Jekyll 은 블로그 포스트의 카테고리와 태그에 대한 최고 수준의 지원을 제공합니다.
카테고리와 태그의 차이점은 카테고리는 포스트의 URL 에 포함될 수 있으며 태그는 안된다는 점입니다. 이 기능을 사용하려면, Front matter에 카테고리와 태그를 설정합니다:

---
layout: post
title: A Trip
categories: [blog, travel]
tags: [hot, summer]
---

Jekyll 은 site.categories 로 카테고리를 사용할 수 있게 해줍니다.
페이지에서 site.categories 에 반복문을 적용하면 두 항목으로 구성된 또 다른 배열을 사용할 수 있는데, 첫 번째 항목은 카테고리의 이름이고 두 번째 항목은 해당 카테고리의 포스트 배열입니다.

{% for category in site.categories %}
  <h3>{{ category[0] }}</h3>
  <ul>
    {% for post in category[1] %}
      <li><a href="{{ post.url }}">{{ post.title }}</a></li>
    {% endfor %}
  </ul>
{% endfor %}

태그는 변수가 site.tags 라는 것만 제외하면 완벽히 동일합니다.

포스트 발췌

post의 excerpt 변수를 사용하여 post 콘텐츠의 snippet에 액세스할 수 있습니다.
기본적으로 이것은 post contents의 첫 번째 단락이지만 front matter, _config.yml에서 excerpt_separator변수를 설정하여 사용자 정의 할 수 있습니다.

---
excerpt_separator: <!--more-->
---

Excerpt with multiple paragraphs

Here's another paragraph in the excerpt.
<!--more-->
Out-of-excerpt

다음은 발췌와 함께 블로그 포스트 목록을 출력하는 예시입니다:

<ul>
  {% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
      {{ post.excerpt }}
    </li>
  {% endfor %}
</ul>

Drafts(초안)

초안이란 파일명에 날짜가 없는 포스트입니다. 현재 작성중이기 때문에 아직은 온라인에 게시하고 싶지 않은 포스트를 의미합니다. 초안 기능을 사용하려면, 사이트의 루트 디렉토리에 _drafts 폴더를 만들고 초안을 생성하면 됩니다:

.
├── _drafts
│   └── a-draft-post.md
...

초안을 포함해서 사이트를 미리보기 하려면, jekyll servejekyll build 명령에 --drafts 스위치를 추가해서 실행하세요. 초안의 작성시간에 해당 파일의 수정시간을 할당하기 때문에, 현재 작업중인 초안이 가장 최신 포스트인 것처럼 표시됩니다.